import Vue from 'vue';

export namespace N_RectifierSettings {
  export interface setInfo {
    label?: string;
    code: string;
    value: number | boolean;
    conversionRate?: number;
  }

  export interface StageConfig {
    stage: string;
    rampTime: setInfo;
    holdTime: setInfo;
    voltage: setInfo;
  }

  export interface ConfigItem {
    param: string;
    value: number | boolean;
    code: string;
    unit: string;
    min?: number;
    max?: number;
    conversionRate?: number;
  }

  export interface slotConfig {
    tankID: number;
    label: string;
    name: string;
    stages: StageConfig[];
    configData: ConfigItem[];
    modeInfo: setInfo;
  }

  export interface TankData {
    name: string;
    key: string;
    voltage: setInfo;
    current: setInfo;
    status: setInfo;
    totalSetTime: setInfo;
    totalTime: setInfo;
    totalStages: setInfo;
    currentStage: setInfo;
    stageTime: setInfo;
  }

  export interface cRectifierSettings extends Vue {
    ecDetCodes: string[];
    updateData: (res: any) => void;
  }
}
